from fastapi import FastAPI
from routers import role, user

app = FastAPI()
# 导入其他模块的路由api
app.include_router(router=user.router)
app.include_router(role.router)


@app.get("/")
async def root():
    return {"message": "Hello World"}


@app.get("/hello/{name}")
async def say_hello(name: str):
    return {"message": f"Hello {name}"}


if __name__ == '__main__':
    import uvicorn

    # 启动方式一：
    # 其中main为当前py文件，app为FastAPI的实例对象（对应app = FastAPI()），这样启动默认为http://127.0.0.1:8000
    # 可自行配置host,port,workers,reload等参数。
    # reload 当文件变更时，自动重启，仅在开发时使用，禁止线上使用
    uvicorn.run('main:app', host='127.0.0.1', port=8000, log_level='info', reload=True)

    # 启动方式二：
    # cd到启动文件同目录
    # 终端执行
    # uvicorn
    # test: app - -reload
    # reload表示代码有修改并保存时，服务自动重启，调试时使用，上线时不用。
